3.4. S3 Gateway
Компоненты Apache Ozone: S3 Gateway (S3G)
S3 Gateway (S3G) — это компонент Apache Ozone, который предоставляет доступ к хранилищу Ozone через API, совместимый с Amazon S3. Он позволяет использовать инструменты и приложения, разработанные для S3, для взаимодействия с Ozone. S3 Gateway делает возможным интеграцию с такими инструментами, как AWS CLI, MinIO, и приложениями на базе S3 SDK.
1. Роль S3 Gateway в Ozone
S3 Gateway предоставляет следующие возможности:
- API, совместимый с Amazon S3: Позволяет приложениям работать с Ozone без изменений в коде.
- Поддержка стандартных операций S3: Создание бакетов, загрузка и чтение объектов, упр авление версиями данных.
- Интеграция с облачными и локальными приложениями: Позволяет использовать S3 API для гибридных решений.
- Безопасный доступ: Поддерживает TLS/SSL для безопасного соединения и аутентификацию с использованием Access Key и Secret Key.
2. Запуск и остановка S3 Gateway
Запуск S3 Gateway
Для запуска S3 Gateway используйте следующую команду:
bin/ozone s3g --daemon start
Остановка S3 Gateway
Для остановки S3 Gateway выполните:
bin/ozone s3g --daemon stop
Проверка статуса S3 Gateway
Проверьте статус всех служб, включая S3 Gateway:
bin/ozone admin service list
3. Конфигурация S3 Gateway
Параметры S3 Gateway задаются в файле ozone-site.xml
. Пример конфигурации:
<configuration>
<property>
<name>ozone.s3g.address</name>
<value>0.0.0.0:9874</value>
</property>
<property>
<name>ozone.s3g.bucket.layout</name>
<value>OBJECT_STORE</value>
</property>
<property>
<name>ozone.s3g.enable.versioning</name>
<value>true</value>
</property>
<property>
<name>ozone.s3g.tls.enabled</name>
<value>false</value> <!-- Установите true для включения TLS -->
</property>
</configuration>
ozone.s3g.address
: Указывает IP-адрес и порт, на котором будет работать S3 Gateway.ozone.s3g.bucket.layout
: Задаёт тип организации бакетов (OBJECT_STORE
— рекомендуемый вариант).ozone.s3g.enable.versioning
: Включает поддержку версионирования объектов.ozone.s3g.tls.enabled
: Включает шифрование соединения с использованием TLS/SSL.
4. Работа с S3 Gateway через AWS CLI
Вы можете использовать AWS CLI для взаимодействия с Ozone через S3 Gateway.
Шаг 1: Установка AWS CLI
Если AWS CLI не установлен, выполните:
sudo apt install awscli
Шаг 2: Настройка AWS CLI для работы с Ozone
Создайте профиль AWS CLI:
aws configure --profile ozone
При настройке укажите:
- Access Key ID и Secret Access Key: Используйте произвольные значения для локального тестирования.
- Default region: Укажите
us-east-1
или любой другой. - Output format: Укажите
json
.
Шаг 3: Использование S3 Gateway в качестве ко нечной точки
В каждой команде AWS CLI указывайте --endpoint-url
с адресом S3 Gateway.
5. Примеры команд AWS CLI с Ozone
-
Создание S3-бакета:
aws s3api create-bucket --bucket my-s3-bucket --endpoint-url http://localhost:9874
-
Загрузка файла в S3-бакет:
aws s3 cp localfile.txt s3://my-s3-bucket/ --endpoint-url http://localhost:9874
-
Просмотр содержимого бакета:
aws s3 ls s3://my-s3-bucket/ --endpoint-url http://localhost:9874